home *** CD-ROM | disk | FTP | other *** search
/ Maclife 9 / MACLIFE09.7z / MACLIFE09-No-89.ISO / 特集I / FreeWare / Arashi111.sea / ARASHI 1.1.1 ƒ / Juri's Arashi Script / Arashi Script < prev    next >
Text File  |  1993-07-09  |  6KB  |  243 lines

  1. /*
  2. **    PreScript:
  3. **
  4. **    Don't remove this comment or type anything before it.
  5. */
  6.  
  7. //    The following variables are for internal use:
  8.  
  9.         DEPTH            =        120
  10.  
  11.         iLevelNumber    =    0
  12.         iLevelField        =    (iLevelNumber + 15) % 16 + 1 min 1 max 16
  13.         iLevelColor        =    ( (iLevelNumber+15) / 16) min 1 max 6 
  14.         iLevelBonus        =    0
  15.         iLevelStartBonus =    1000 * iLevelNumber
  16.         iLevelNext        =    iLevelNumber + 1
  17.  
  18.         iPlayerMaxMove        =    12
  19.         iPlayerSuperZaps    =    1
  20.  
  21.         iShotSpeed        =        4
  22.         iShotPower        =        3
  23.         iShotColor[0]    =        1
  24.         iShotColor[1]    =        0
  25.         iShotColor[2]    =        6
  26.         iShotColor[3]    =        4
  27.         iShotColor[4]    =        5
  28.  
  29.         iFlipperPoints    =        150
  30.         iFlipperCount    =        3
  31.         iFlipperProb    =        700
  32.         iFlipperSpeed    =        65536
  33.         iFlipperRot        =        4
  34.         iFlipperColor    =        2
  35.  
  36.         iTank[0].points    =        100
  37.         iTank[0].count    =        0
  38.         iTank[0].prob    =        600
  39.         iTank[0].speed    =        65536
  40.         iTank[0].color    =        4
  41.  
  42.         iTank[1].points    =        100
  43.         iTank[1].count    =        0
  44.         iTank[1].prob    =        600
  45.         iTank[1].speed    =        65536
  46.         iTank[1].color    =        5
  47.  
  48.         iTank[2].points    =        100
  49.         iTank[2].count    =        0
  50.         iTank[2].prob    =        600
  51.         iTank[2].speed    =        65536
  52.         iTank[2].color    =        5
  53.  
  54.         iFusePoints        =        500
  55.         iFuseBullseye    =        750
  56.         iFuseCount        =        0
  57.         iFuseProb        =        600
  58.         iFuseWarpP        =        2
  59.         iFusePlayerPlus    =        40
  60.         iFuseColor[0]    =        0
  61.         iFuseColor[1]    =        5
  62.         iFuseColor[2]    =        1
  63.         iFuseColor[3]    =        4
  64.         iFuseColor[4]    =        2
  65.  
  66.         iPulsarPoints    =        200
  67.         iPulsarCount    =        0
  68.         iPulsarProb        =        600
  69.         iPulsarSpeed    =        32768
  70.         iPulsarRot        =        5
  71.         iPulsarColor    =        5
  72.         iPulsarTime        =        20
  73.         iPulsarPulsDepth=        DEPTH-DEPTH/5
  74.  
  75.         iSpikerPoints    =        50
  76.         iSpikerProb        =        100
  77.         iSpikerSpeed    =        65536
  78.         iSpikerStart    =        DEPTH
  79.         iSpikerTop        =        10
  80.         iSpikerPlasma    =        1
  81.         iSpikerPlSpeed    =        5*65536
  82.         iSpikerPlPoints    =        200
  83.         iSpikerSpikePoints=        1
  84.         iSpikerColor[0]    =        3
  85.         iSpikerColor[1]    =        0
  86.         iSpikerColor[2]    =        5
  87.  
  88.         iBoredomCount    =        4
  89.         iBoredProb        =        2000
  90.         iEndTimer        =        60
  91.         iAllowPracticeRestart    =        1
  92.         iAllowArcadeRestart        =        1
  93.         iShowSpikesMsg    =    0
  94.         iDoomsday = 0
  95.  
  96.         
  97. // These are the variables you are supposed to access:
  98.  
  99.     Level            =    iLevelNumber
  100.     SubLevel        =    (Level+15) % 16
  101.     ColorLevel        =    (Level-1) / 16    min 0
  102.  
  103.     //    Flippers:
  104.     iFlipperProb    =    FlipperProb * 1000 min 0
  105.     iFlipperCount    =    FlipperCount min 0
  106.     iFlipperRot        =    FlipperRot min 0 max 100
  107.     iFlipperSpeed    =    FlipperSpeed * 65536 min 1000
  108.  
  109.     iTank[0].prob    =    FlipTankProb * 1000 min 0
  110.     iTank[0].count    =    FlipTankCount min 0
  111.     iTank[0].speed    =    FlipTankSpeed * 65536 min 1000
  112.  
  113.     //    Spikers:
  114.     iSpikerStart    =    SpikeStart min (DEPTH * 0.05) max DEPTH
  115.     iSpikerTop        =    SpikeTop min (DEPTH * 0.05) max DEPTH
  116.     iSpikerProb        =    (iSpikerTop < DEPTH) * SpikerProb * 100 min 0 max 200
  117.     iSpikerSpeed    =    SpikerSpeed * 65536 min 10000
  118.  
  119.     //    Fuseballs
  120.     iFuseCount        =    FuseCount
  121.     iFuseProb        =    FuseProb * 1000 min 0
  122.     iFuseWarpP        =    FuseWarpP * 10 min 0
  123.     iFusePlayerPlus    =    FusePlayerPlus * 100 min 0
  124.  
  125.     iTank[1].prob    =    FuseTankProb * 1000 min 0
  126.     iTank[1].count    =    FuseTankCount min 0
  127.     iTank[1].speed    =    FuseTankSpeed * 65536 min 1000
  128.  
  129.     //    Pulsars
  130.     iPulsarCount    =    PulsarCount
  131.     iPulsarProb        =    PulsarProb * 1000 min 0
  132.     iPulsarSpeed    =    PulsarSpeed * 65536 min 1000
  133.     iPulsarRot        =    PulsarRot min 0 max 100
  134.     iPulsarTime        =    PulsarTime
  135.  
  136.     iTank[2].prob    =    PulsarTankProb * 1000 min 0
  137.     iTank[2].count    =    PulsarTankCount min 0
  138.     iTank[2].speed    =    PulsarTankSpeed * 65536 min 1000
  139.  
  140.     //    Game difficulty:
  141.     iBoredomCount    =    BoredomCount
  142.     iBoredProb        =    BoredProb * 2000 min 0
  143.     iEndTimer        =    EndTimer * 60 min 1
  144.     iAllowPracticeRestart    =    AllowPracticeRestart - (Level > 95)
  145.     iAllowArcadeRestart    =    AllowArcadeRestart - (Level > 95)
  146.     iShowSpikesMsg    =    (Level > 3) - (Level > 8)
  147.     iDoomsday = (Level > 96)
  148.  
  149. //    End of prescript.
  150.  
  151.  
  152. /*
  153.     Copyright:
  154.     
  155.         Arashi 1.1
  156.         Copyright ゥ1993, Project STORM Team
  157.  
  158.         This file is freely distributable,
  159.         but the parser and compiler for
  160.         it may only be used along with the
  161.         Arashi game. For permission to use
  162.         the compiler or parts of it for other
  163.         things, please request permission from
  164.  
  165.                         Juri Munkki
  166.             internet:    jmunkki@hut.fi
  167.             applelink:    sf0010
  168. */
  169.  
  170. FileScript=1    //    Reading from a file. (In case you are interested.)
  171.  
  172. level 1        //    Starting from level 1, use the following rules:
  173.  
  174.     AllowPracticeRestart    =    Level % 2
  175.     AllowArcadeRestart    =    Level % 2
  176.  
  177.     FlipperProb        =    1 + SubLevel / 15
  178.     FlipperCount    =    4 + SubLevel / 3 + Level / 8 - PulsarCount / 3 max 16
  179.     FlipperRot        =    (4 + Level/1.5) ^ 0.7 max 12
  180.     FlipperSpeed    =     (1.0 + Level / 12) ^ 0.5
  181.  
  182.     SpikerProb        =    (0.5 + SubLevel / 32) * (SubLevel > 1)
  183.     SpikeStart        =    DEPTH - ((SubLevel - 2) * DEPTH / 15 min 0)
  184.     SpikeTop        =    DEPTH * 0.1
  185.     SpikerSpeed        =    1 + Level / 40 max 2.5
  186.     
  187.     EndTimer        =    3.2 / Level max 1.5
  188.     BoredomCount    =    2 + Level / 10 max 7
  189.     BoredProb        =    1.0 + Level / 32
  190.  
  191.     FlipTankCount    =    (SubLevel - 1) ^ 0.7 - FuseTankCount / 2
  192.     FlipTankSpeed    =    (1.0 + Level / 12) ^ 0.4
  193.     FlipTankProb    =    0.3 + SubLevel / 20
  194.  
  195. level 11
  196.     FuseCount        =    2
  197.     FuseProb        =    0.5 + SubLevel / 15
  198.     FuseWarpP        =    Level / 100 max 0.5
  199.     FusePlayerPlus    =    Level / 40 max 0.9
  200.  
  201. level 17
  202.     FuseCount        =    0
  203.     
  204.     PulsarProb        =    0.7 + SubLevel / 20
  205.     PulsarCount        =    4 + SubLevel / 5 + Level / 10 max 12
  206.     PulsarRot        =    (4 + Level/2) ^ 0.6 max 11
  207.     PulsarSpeed        =    (Level / 20) ^ 0.5
  208.     PulsarTime        =    20 - Level / 20 min 5
  209.  
  210. level 19
  211.     FuseCount        =    (Level / 3) ^ 0.7 max 6
  212.     AllowArcadeRestart    =    (Level % 2) < 1
  213.  
  214. level 30
  215.     AllowArcadeRestart    =    (Level % 2)
  216.  
  217. level 33
  218.  
  219.     FuseTankCount    =    SubLevel ^ 0.3 + 2 - PulsarTankCount / 2
  220.     FuseTankSpeed    =    (1.0 + Level / 12) ^ 0.4
  221.     FuseTankProb    =    0.3 + SubLevel / 20
  222.  
  223. level 35
  224.     AllowArcadeRestart    =    (Level % 4) < 1
  225.  
  226. level 40
  227.     
  228.     PulsarTankCount    =    SubLevel ^ 0.3 + 2
  229.     PulsarTankSpeed    =    (1.0 + Level / 12) ^ 0.4
  230.     PulsarTankProb    =    0.3 + SubLevel / 20
  231.  
  232. level 47
  233.     AllowArcadeRestart    =    (Level % 2)
  234.  
  235. level 51
  236.     AllowArcadeRestart    =    (Level % 4) < 1
  237.     
  238. level 63
  239.     AllowArcadeRestart    =    (Level % 2)
  240.  
  241.  
  242. level 32000    //    We should never need to go past this point
  243.